Error checking with client-driven pointer analysis
نویسندگان
چکیده
This paper presents a new client-driven pointer analysis algorithm that automatically adjusts its precision in response to the needs of client analyses. Using five significant error detection problems as clients, we evaluate our algorithm on 18 real C programs. We compare the accuracy and performance of our algorithm against several commonly-used fixedprecision algorithms. We find that the client-driven approach effectively balances cost and precision, often producing results as accurate as fixed-precision algorithms that are many times more costly. Our algorithm works because many client problems only need a small amount of extra precision applied to selected portions of each input program.
منابع مشابه
Client-Driven Pointer Analysis
This paper presents a new client-driven pointer analysis algorithm that automatically adjusts its precision in response to the needs of client analyses. We evaluate our algorithm on 18 real C programs, using five significant error detection problems as clients. We compare the accuracy and performance of our algorithm against several commonly-used fixed-precision algorithms. We find that the cli...
متن کاملBoomerang: Demand-Driven Flow- and Context-Sensitive Pointer Analysis for Java
Many current program analyses require highly precise pointer information about small, targeted parts of a given program. This motivates the need for demand-driven pointer analyses that compute information only where required. Pointer analyses generally compute points-to sets of program variables or answer boolean alias queries. However, many client analyses require richer pointer information. F...
متن کاملDemand-driven Pointer Analysis on Explicit Dependence Graphs
In this thesis I present a demand-driven pointer analysis for Java that aims at applications which require memory and time efficiency of the pointer analysis, such as tools for IDEs or JIT compilers. It furthermore allows clients to specify the precision needed and is context-sensitive and flow-sensitive. The demand-driven aspect of my approach allows the analysis to ignore irrelevant parts of ...
متن کاملSpeeding Up Data ow Analysis Using Flow-Insensitive Pointer Analysis
In recent years, static analysis has increasingly been applied to the problem of program veri cation. Systems for program veri cation typically use precise and expensive interprocedural data ow algorithms that are diÆcult to scale to large programs. An attractive way to scale these analyses is to use a preprocessing step to reduce the number of data ow facts propagated by the analysis and/or th...
متن کاملBounded Model Checking of Pointer Programs
We propose a bounded model checking procedure for programs manipulatingdynamically allocated pointer structures. Our procedure checks whether aprogram execution of length n ends in an error (e. g., a NULL dereference)by testing if the weakest precondition of the error condition together with theinitial condition of the program (e. g., program variable x points to a circularl...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Sci. Comput. Program.
دوره 58 شماره
صفحات -
تاریخ انتشار 2005